<?php

/**
 * `Contacts controller dùng để xử lý các contact trong group
 */
class ContactsController extends Controller {
	public $menuActive = "groups";

    public function actionIndex(){

    }

    public function actionManage($id){
    	$group = Group::model()->findByPk($id);
    	if(!is_object($group)) throw new CHttpException(404,'The requested page does not exist.');
		// Add script to add to group
		$this->ui->addScript('add_contact_to_group', ClientScript::addContactToGroup($group->id));
		$contact = new Contact();
		$providerContactToAddGroup = $contact->providerContactsToAddGroup($group->id);
		$providerContactsInGroup = $contact->providerContactsInGroup($group->id);
    	$this->render('index', array(
    		'group' => $group,
    		'providerContactToAddGroup' => $providerContactToAddGroup,
    		'providerContactsInGroup' => $providerContactsInGroup,
    	));
    }

    public function actionAddToGroup($id){
     	$result = array('success' => false, 'msg' => Yii::t('main','Có lỗi xảy ra trong quá trình xử lý'));
		$group = Group::model()->findByPk($id);
    	if(!is_object($group)) throw new CHttpException(404,'The requested page does not exist.');
    	if(empty($_POST['contacts']) && !is_string($_POST['contacts'])){
    		 echo json_encode($result);die;
    	}
    	$contacts = explode(',', $_POST['contacts']);
    	if(empty($contacts)){
    		$result['msg']  = Yii::t('main','Vui lòng chọn liên hệ cần nhập vào nhóm');
    	}else{
    		$return = $group->addToGroup($contacts);
    		if($return === true){
    			Yii::app()->user->setFlash('success', Yii::t('main','Thêm vào nhóm liên hệ thành công'));
    			$result['msg'] = Yii::t('main','Thêm vào nhóm liên hệ thành công');
    			$result['success'] = true;
    		}
    	}
		echo json_encode($result);die;
    }

    public function actionCreate(){
		$model = new Group();
		$this->ajaxValidate($model);
		if(Yii::app()->request->isPostRequest && !empty($_POST['Group'])){
			$model->setAttributes($_POST['Group'], false);
			if($model->validate()){
				$result = $model->updateGroup();
				if($result['success'] === true){
					Yii::app()->user->setFlash('success', $result['msg']);
					$this->redirect(Yii::app()->createUrl('groups'));
				}
			}
		}
		$this->render('create', array(
			'model' => $model
		));
    }


	public function actionUpdate($id){
		$model = $this->loadModel($id);
		$this->ajaxValidate($model);
		if(Yii::app()->request->isPostRequest && !empty($_POST['Group'])){
			$model->setAttributes($_POST['Group'], false);
			if($model->validate()){
				$result = $model->updateGroup();
				if($result['success'] === true){
					Yii::app()->user->setFlash('success', $result['msg']);
					$this->redirect(Yii::app()->createUrl('groups'));
				}
			}
		}
		$this->render('update', array(
			'model' => $model
		));
	}

	public function actionDelete($contact_id, $group_id){
		$model = GroupContact::model()->findByAttributes(array('contact_id' => $contact_id, 'group_id' => $group_id));
		if(is_object($model)){
			if($model->delete()){
				Yii::app()->user->setFlash('success', Yii::t('main','Xóa liên hệ khỏi nhóm thành công!'));
			}else{
				Yii::app()->user->setFlash('error', Yii::t('main','Có lỗi xảy ra trong quá trình xử lý.Vui lòng thử lại hoặc liên hệ với quản trị'));
			}
		}
		if(!isset($_GET['ajax']))
			$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
	}
}